This document relates to computer animation. Generally speaking, computer animation is the process of generating video sequences using computer graphics creation software executing on a computer system. Often in computer animation, a scene of three dimensional (3D) objects is rendered into a two dimensional (2D) projection of the scene to generate a single frame of the animation sequence, the objects in the scene are then manipulated or moved to new positions corresponding to the next frame in the animation sequence, and the rendering process is repeated to generate that next frame.
Some objects may have an associated animation rig that helps to manipulate the object based on animation controls provided by the rig. An animator user can set values for the animation controls to drive the animation rig. For example, a facial rig may have rig controls for groups of muscles, and the muscles can expand or contract based on a value assigned to corresponding rig controls. An animator may set rig values for a subset of frames called keyframes. The keyframes may be selected as, for example extreme positions for the model's pose, expression, or shape. For frames between the keyframes, rig values may be interpolated from the surrounding keyframes. This interpolation may create smooth transitions of rig control values, producing smooth animation of the object.